﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EFramework.Web.TypeExtension;

namespace  RzCorportativo.Views
{
    public partial class Atestado : System.Web.UI.UserControl
    {
        public bool Enabled
        {
            get { return this.Periodo.Enabled && this.TipoPeriodo.Enabled; }
            set { this.Periodo.Enabled = this.TipoPeriodo.Enabled = true; }
        }

        internal void Load(RzCorportativo.Lib.Atestado atestado)
        {
            if (atestado == null)
                return;
            if (atestado.Consulta != null && atestado.Consulta.Medico != null && atestado.Consulta.Medico.Pessoa != null)
            {
                this.Medico.Text = atestado.Consulta.Medico.Pessoa.Nome;
                this.MedicoId.Value = atestado.Consulta.MedicoId.ToString();
            }
            if (atestado.Consulta.Paciente != null)
            {
                this.Paciente.Text = atestado.Consulta.Paciente.Nome;
                this.PacienteId.Value = atestado.Consulta.PacienteId.ToString();
            }
            this.AtestadoId.Value = atestado.AtestadoId.ToString();
            this.Periodo.Text = atestado.Periodo.ToString();
            this.TipoPeriodo.SelectedValue = ((short)atestado.TipoIntervalo).ToString();
            this.TipoPeriodo.DataBind();
        }

        public RzCorportativo.Lib.Atestado Value
        {
            get
            {
                RzCorportativo.Lib.Atestado atestado = new RzCorportativo.Lib.Atestado();
                atestado.Data = DateTime.Now;
                atestado.Periodo = ShortExtension.Parse(this.Periodo.Text, 0);
                var tipo = IntExtension.Parse(this.TipoPeriodo.SelectedValue, 0);
                atestado.TipoIntervalo = (RzCorportativo.Lib.TipoIntervalo)tipo;
                atestado.AtestadoId = IntExtension.Parse(this.AtestadoId.Value, 0);
                atestado.PacienteId = IntExtension.Parse(this.PacienteId.Value, 0);
                atestado.MedicoId = IntExtension.Parse(this.MedicoId.Value, 0);
                return atestado.Periodo == 0 || tipo == 0 ? null : atestado;
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}